The present invention relates to a method and system for optimizing the I/O configuration of computer systems, and more particularly to enabling host computer systems utilizing channel path identifiers (CHPIDs) to flexibly assign the CHPIDs to channels.
CHPIDs are identifier data elements associated with channels, and are known in host computer systems (as used herein, the term xe2x80x9cchannelxe2x80x9d refers generally to the collection of items, whether software or hardware, needed to communicate with a device; xe2x80x9cCHPIDxe2x80x9d refers to a channel""s logical identifier; and xe2x80x9cchannel portxe2x80x9d refers to a physical structure residing on a channel card). For example, in mainframe computer systems designed and built by the International Business Machines (IBM) corporation, CHPIDs are used by the operating system software to identify the communication path to various I/O devices connected to the system. Each CHPID is associated with one channel port to which a control unit and/or device is connected. When the operating system performs I/O to a device over a particular channel, it uses the channel""s CHPID to address the physical channel port. CHPIDs are limited in number, due to the constraints of system architecture.
In prior art systems, CHPIDs had a fixed assignment to channel ports. The system processor had access to channel card slots. Plugged into the slots were channel cards physically embodying channel ports; i.e., electronic circuitry for performing I/O operations to control units and devices connected to the channels. In setting up an I/O configuration for the system, each card slot was allotted a fixed number of sequential CHPIDs, corresponding to the maximum number of channels ports per card. Typically, this maximum number was four.
The foregoing arrangement had disadvantages. For instance, a situation known as xe2x80x9cblocked CHPIDs,xe2x80x9d in which CHPIDs were unavailable for assignment to physical channel ports, frequently arose. Some types of channel cards might have fewer than the maximum number of channel ports (e.g., as few as one), but would occupy a card slot to which the maximum number of CHPIDs were assigned. This meant that some of the assigned CHPIDs were never used and were therefore wasted.
As the technology of computers has advanced, the number of available channel ports per channel card has acquired a range which reflects an increasing sophistication with which such cards may be utilized. Some channel cards may have only one physical channel port, while others, currently, may have as many as fifteen. If, for example, fixed CHPIDs were assigned based on fifteen maximum possible channels according to the above-described scheme, a one-channel card would waste fourteen CHPIDs. Thus, fixed CHPID assignments with current technologies would incur wastage of CHPIDs on an unacceptable scale.
Moreover, typically customers who buy upgrades to their mainframe systems have established CHPID-to-channel definitions which are reflected in the operating system software. The introduction of upgrades in the form of, for example, a next generation of processor or improved peripheral hardware typically had a disruptive effect in that a substantial and error-prone effort was necessary to re-assign CHPIDs to reflect the upgraded configuration.
In addition, mainframe customers often complained that almost identical I/O configurations, differing, for example, in only three or four of installed channel cards, could result in completely different CHPID assignments. A more homogeneous, machine-independent handling of CHPID assignments was regarded as preferable.
An approach is called for which addresses the above-described concerns.
In a method and system according to the present invention, CHPIDs are assigned based on the actual physical channel ports present in a computer system, rather than being allotted in fixed numbers to channel card slots. This avoids the deficiencies of the prior art wherein xe2x80x9cblocked CHPIDsxe2x80x9d were wasted.
In an embodiment, a default CHPID assignment may be initially established by sensing channel ports physically connected to the computer system, and assigning CHPIDs only to those channels. A user interface is provided allowing for re-assignment of CHPIDs concurrently with ongoing operations of the computer system.
The invention further provides for pre-defined CHPID mappings to be xe2x80x9cexported,xe2x80x9d i.e., written to a computer-usable medium, and xe2x80x9cimported,xe2x80x9d i.e., read from a computer-usable medium. This can provide substantial convenience to a user of the invention, in, for example, system upgrades, since the user does not need to perform the error-prone task of re-assigning CHPIDs to conform to the upgrades. Further, importing the CHPID mappings changes saves the effort of entering them manually via the user interface.